package com.ly.heart.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ly.heart.domain.KingInvoiceReceivableEntity;
import com.ly.heart.domain.vo.KingInvoiceReceivableMenuVo;

/**
 * 金蝶-发票-应收单/销售开票Mapper接口
 *
 * @author wutao
 * @date 2024-06-26
 */
public interface KingInvoiceReceivableMapper extends BaseMapper<KingInvoiceReceivableEntity> {
    /**
     * 查询金蝶-发票-应收单/销售开票
     *
     * @param id 金蝶-发票-应收单/销售开票ID
     * @return 金蝶-发票-应收单/销售开票
     */
    KingInvoiceReceivableEntity selectKingInvoiceReceivableEntityById ( String id );

    /**
     * 查询金蝶-发票-应收单/销售开票列表
     *
     * @param kingInvoiceReceivableEntity 金蝶-发票-应收单/销售开票
     * @return 金蝶-发票-应收单/销售开票集合
     */
    List<KingInvoiceReceivableEntity> selectKingInvoiceReceivableEntityList ( KingInvoiceReceivableEntity kingInvoiceReceivableEntity );

    Integer selectKingInvoiceReceivableCount ( KingInvoiceReceivableEntity kingInvoiceReceivableEntity );

    /**
     * 通过id查询关联数据
     *
     * @param id
     * @return
     */
    KingInvoiceReceivableEntity querySingleById ( String id );

    /**
     * 修改金蝶-发票-应收单/销售开票
     *
     * @param kingInvoiceReceivableEntity 金蝶-发票-应收单/销售开票
     * @return 结果
     */
    int updateKingInvoiceReceivableEntity ( KingInvoiceReceivableEntity kingInvoiceReceivableEntity );

    /**
     * 收款单选单，选择应收单
     * @param kingInvoiceReceivableEntity
     * @return
     */
    List<KingInvoiceReceivableEntity> queryList ( KingInvoiceReceivableEntity kingInvoiceReceivableEntity );

    Integer queryCount ( KingInvoiceReceivableEntity kingInvoiceReceivableEntity );

    /**
     * 应收单冲红，选择应收单
     * @param kingInvoiceReceivableEntity
     * @return
     */
    List<KingInvoiceReceivableMenuVo> queryListByReceivable ( KingInvoiceReceivableEntity kingInvoiceReceivableEntity );

    Integer queryListByReceivableCount ( KingInvoiceReceivableEntity kingInvoiceReceivableEntity );

}
